Efficient Simplification of SAT Instances from Formal Verification of Microprocessors and Infinite-State Systems

نویسنده

  • Sathiamoorthy Subbarayan
چکیده

Usage of SAT methods in Formal Verification is increasing [1]. Recently several preprocessors for SAT instances have been proposed [2], [3], [4]. Few of them have shown successes in some Formal Verification problems like Bounded Model Checking (BMC) and Equivalence Checking. As far as we know, none of them have been successful in reducing the complexity of microprocessor verification SAT instances. In [5,6], Velev and Bryant have concluded that applying a preprocessor (simplifier) to the CNF formulas resulting from realistic microprocessors is impractical, due to the large number of clauses-hundreds of thousands. In contrast, we show that a recent preprocessor, NiVER [7], results in solving SAT instances from Velev's microprocessor benchmark suite [8] in less time and space. We also explain the reason for the success of NiVER, while other preprocessors fail. We use the average number of implications by unit propagation of literals in the formula to estimate the cost of preprocessing. As far as we know, this paper is the first to estimate the cost of preprocessors and predict the usefulness of them. We also introduce and study a variant of NiVER, LiVER, that allows a limited increase in the formula size. Experimental results show that without NiVER preprocessing, some of the Velev's microprocessor verification SAT instances may not be solved due to huge memory or time requirements. On the experiments conducted so far, in unsatisfiable instances preprocessing resulted in upto 3x speed-up in time and solving few instances, which are otherwise aborted due to huge memory requirements. We also show the effect of preprocessing on SAT instances from UCLID [9] -a verification tool for infinite state systems.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Reachability checking in complex and concurrent software systems using intelligent search methods

Software system verification is an efficient technique for ensuring the correctness of a software product, especially in safety-critical systems in which a small bug may have disastrous consequences. The goal of software verification is to ensure that the product fulfills the requirements. Studies show that the cost of finding and fixing errors in design time is less than finding and fixing the...

متن کامل

Survey of Techniques for Efficient Solving of Boolean Formulas from Formal Verification of Pipelined, Superscalar, and VLIW Microprocessors at a High Level of Abstraction

In 2000 – 2003, the author made publicly available a collection of more than 1,100 Boolean formulas generated in formal verification of complex pipelined, superscalar, and VLIW microprocessors. These formulas galvanized the Boolean Satisfiability (SAT) community, and were used for the development of all recent academic and industrial SAT solvers. The paper evaluates the efficiency of various te...

متن کامل

A Hybrid Meta-heuristic Approach to Cope with State Space Explosion in Model Checking Technique for Deadlock Freeness

Model checking is an automatic technique for software verification through which all reachable states are generated from an initial state to finding errors and desirable patterns. In the model checking approach, the behavior and structure of system should be modeled. Graph transformation system is a graphical formal modeling language to specify and model the system. However, modeling of large s...

متن کامل

System modeling and verification with UCLID

Formal verification has had a significant impact on the semiconductor industry, particularly for companies that can devote significant resources to creating and deploying internally developed verification tools. If we look more closely, however, we see that the major industrial applications of formal verification have been either in verifying individual blocks, such as floating-point units and ...

متن کامل

Modeling and Evaluation of Stochastic Discrete-Event Systems with RayLang Formalism

In recent years, formal methods have been used as an important tool for performance evaluation and verification of a wide range of systems. In the view points of engineers and practitioners, however, there are still some major difficulties in using formal methods. In this paper, we introduce a new formal modeling language to fill the gaps between object-oriented programming languages (OOPLs) us...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004